package afcp.alumni.model.db;

//import java.io.Serializable;
//
//import javax.jdo.annotations.Extension;
//import javax.jdo.annotations.IdentityType;
//import javax.jdo.annotations.NullValue;
//import javax.jdo.annotations.PersistenceCapable;
//import javax.jdo.annotations.Persistent;
//import javax.jdo.annotations.PrimaryKey;
//
//import afcp.alumni.model.base.DatastoreEntity;
//import afcp.alumni.model.base.UniqueField;
//
//import com.google.appengine.api.datastore.Key;
//import com.google.appengine.datanucleus.annotations.Unowned;
//
//@PersistenceCapable(identityType = IdentityType.APPLICATION, detachable = "true")
//public class Login implements UniqueField<Member>, Serializable {
//
//	// TODO utile ? Essayer de l'enlever.
//	@Persistent
//	@Extension(vendorName = "datanucleus", key = DatastoreEntity.ANNOTATION_PARENT_KEY_VALUE, value = "true")
//	private String mParentEncKey;
//	
//	private static final long serialVersionUID = 1358634122491647682L;
//
//	public Login() {
//	}
//	
////	public Login(String id, Key ancestorKey) {
////		setId(id, ancestorKey);
////	}
////	
////	public Login(String id, Member member, Key ancestorKey) {
////		this.member = member;
////		setId(id, ancestorKey);
////	}
//	
//	public Login(String id) {
//		setId(id);
//	}
//	
////	public Login(String id, Member member) {
////		this.member = member;
////		setId(id);
////	}
//	
//	public Login(Member member) {
//		this.member = member;
//		setId(member.generateStringId());
//	}
//	
//	@PrimaryKey
//	@Persistent
//	// (valueStrategy = IdGeneratorStrategy.IDENTITY) // To allow automatic
//	// generation when saving to datastore
//	private Key key;
//	@Persistent
//	private String id;
//	@Persistent(nullValue=NullValue.EXCEPTION)
//	@Unowned
////	@Column(allowsNull="false")
//	private Member member;
//
//	@Override
//	public String getId() {
//		return id;
//	}
//
//	@Override
//	public Key getKey() {
//		return key;
//	}
//
////	@Override
////	public void setKey() {
////		this.key = KeyFactory.createKey(null, this.getClass().getSimpleName(), id);
////	}
//
////	@Override
////	public void setId(String id, Key ancestorKey) {
////		this.id = id;
////		this.key = KeyFactory.createKey(ancestorKey, this.getClass().getSimpleName(), id);
////	}
//	
//	public void setId(String id) {
//		this.id = id;
//	}
////	public void setAncestorKey(Key ancestorKey) {
////		this.key = KeyFactory.createKey(ancestorKey, this.getClass().getSimpleName(), id);
////	}
//
//	@Override
//	public Member getEntity() {
//		return member;
//	}
//
//	@Override
//	public void setEntity(Member entity) {
//		member = entity;
//	}
//
//	@Override
//	public Class<Member> entityClass() {
//		return Member.class;
//	}
//	
//	@Override
//	public String toString() {
//		return id;
//	}
//	
//	@Override
//	public int hashCode() {
//		final int prime = 31;
//		int result = 1;
//		result = prime * result + ((id == null) ? 0 : id.hashCode());
//		return result;
//	}
//
//	@Override
//	public boolean equals(Object obj) {
//		if (this == obj)
//			return true;
//		if (obj == null)
//			return false;
//		if (getClass() != obj.getClass())
//			return false;
//		Login other = (Login) obj;
//		if (id == null) {
//			if (other.id != null)
//				return false;
//		} else if (!id.equals(other.id))
//			return false;
//		return true;
//	}
//
//}
